/*******************************************************************************************
 *  ChangeSpeed.c
 *
 *  Creating and managing ChangeSpeed object strucutres.
 *
 *******************************************************************************************/







/*******************************************************************************************
 *  INCLUDES :
 *******************************************************************************************/

/* System and library related : */
#include <stdlib.h>
#include <string.h>

/* Project related : */
#include "ChangeSpeed.h"







/*******************************************************************************************
 *  FUNCTIONS :
 *******************************************************************************************/

/*******************************************************************************************
 *  NEWCHANGESPEED : Creates an empty ChangeSpeed object structure.
 *******************************************************************************************/
ChangeSpeed *newChangeSpeed(void) {
	ChangeSpeed *cs;

	/* Creating the container structure : */
	cs = (ChangeSpeed *)malloc(sizeof(ChangeSpeed));


	/* Setting the object's type : */
	cs->otype = changeSpeed;


	/* Returning the still empty structure : */
	return cs;

}




/*******************************************************************************************
 *  FREECHANGESPEED : destroys an ChangeSpeed object structure and all the objects it stores.
 *******************************************************************************************/
void freeChangeSpeed(ChangeSpeed *cs) {

	free(cs->term);

	free(cs->speed);

	free(cs);

}



/*******************************************************************************************
 *  SETCHANGESPEEDSPEED : set the ChangeSpeed object's term parameter.
 *******************************************************************************************/
void setChangeSpeedTerm(ChangeSpeed *cs, char *t) {
	cs->term = t;
}



/*******************************************************************************************
 *  SETCHANGESPEEDSPEED : set the ChangeSpeed object's speed.
 *******************************************************************************************/
void setChangeSpeedSpeed(ChangeSpeed *cs, Speed *s) {
	cs->speed = s;
}
